package com.cskaoyan.day5.map._05_homework;

import java.util.HashMap;
import java.util.Map;

/**
 * @author Common-zhou
 * @since 2023-03-03 20:21
 */
public class HomeWork2 {
    public static void main(String[] args) {
        Map<Integer, Integer> map = new HashMap<>();
        //比如：nums = [2, 7, 11, 15], target = 9.
        //因为 nums[0] + nums[1] = 2 + 7 = 9. 所以返回 [0, 1].

        // 我们使用Map来存储数据。key是值，value是索引
        // 每一次循环的时候进来，我们就去判断一下  （target-value） 在Map中存不存在。
        // 如果存在，说明有互补的值。  且索引位置就是 i 和 map.get(target-value)

        int[] ints = {2, 7, 11, 15};
        int target = 9;

        // 2   7   11   15
        // map = {2,0}

        for (int i = 0; i < ints.length; i++) {
            int value = ints[i];

            if (!map.containsKey(target - value)) {
                map.put(value, i);
            } else {
                // 这两个值都是存在, Map中可以找到 (target-value)--> i
                //value  + (target - value)
                System.out.println(map.get(target - value) + "__" + i);
                break;
            }

        }
    }
}
